coreExam.choosePage = {

    getChooseGridParam : function() {
        var _this = this, columns = coreExam.getChooseListColumns();
        _this.param.single ? columns.unshift({
            radio : true
        }) : columns.unshift({
            checkbox : true
        });
        var url = coreExam.baseUrl + '/queries/choosable';
        return {
            type : 'grid',
            id : 'core-exam-choose-list-grid',
            url : coreExam.baseUrl + '/queries/choosable',
            requestData : _this.param,
            filterOpen : true,
            columns : columns
        };
    },

    getBtnToolbarParam : function() {
        var _this = this;
        return {
            type : 'btnToolbar',
            items : [ {
                type : 'btnGroup',
                items : [ {
                    type : 'button',
                    text : 'GIKAM.BUTTON.CONFIRM',
                    class: 'blue',
                    icon: 'save',
                    color: 'white',
                    onClick : function() {
                        Gikam.getLastModal().close(Gikam.getComp('core-exam-choose-list-grid').getSelections());
                    }
                }, {
                    type : 'button',
                    text : 'GIKAM.BUTTON.CANCEL',
                    icon : 'cancel',
                    onClick : function() {
                        Gikam.getLastModal().close();
                    }
                } ]
            } ]
        }
    },

    create : function() {
        var _this = this;
        Gikam.create('layout', {
            renderTo : Gikam.getLastModal().window.$dom,
            center : {
                items : [ _this.getBtnToolbarParam(), _this.getChooseGridParam() ]
            }
        });
    },

    init : function(param) {
        var _this = this;
        _this.param = param;
        _this.create();
    }
};